package org.dromara.crawler.mongo.mongoservice;


import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mongoplus.service.IService;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.crawler.domain.bo.ElementEventBo;
import org.dromara.crawler.domain.vo.ElementEventVo;
import org.dromara.crawler.mongo.mongodomain.ElementEvent;

import java.util.List;

public interface ElementEventService extends IService<ElementEvent> {

    Page<ElementEvent> queryByPage(ElementEventBo queryCondition, Integer pageNum, Integer pageSize);

    List<ElementEventVo> queryEvent(String eventInfo);

    Object getSpaceTimeLineStatistics(ElementEventBo queryCondition);

    Object getGraphTimeLineStatistics(ElementEventBo queryCondition);

    ElementEvent queryEventById(String id);

    List<ElementEvent> queryRelatedEvent(String targetId);

    List<ElementEvent> queryListByEventIds(List<String> eventIds);

    JSONObject queryObjectByTargetId(String targetId);

    Object queryEventGroup(String eventInfo);

    List<ElementEventVo> queryEventByEventIds(List<String> eventIds);

}
